<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="target" class="com.sqsf.aop.Target"></bean>
    <bean id="myAspect" class="com.sqsf.aop.MyAspect"></bean>

    <aop:config>
        <aop:pointcut id="all" expression="execution(* com.sqsf.aop.Target.*(..))"/>
        <aop:aspect ref="myAspect">
            <aop:before method="before" pointcut-ref="all"/>
            <aop:after method="after" pointcut-ref="all"/>
            <aop:around method="around" pointcut-ref="all"/>
            <aop:after-throwing method="afterThrowing" pointcut-ref="all" throwing="e"/>
            <aop:after-returning method="afterReturning" pointcut-ref="all" returning="res"/>
        </aop:aspect>
    </aop:config>
</beans>